package away3d.core.base ;



import away3d.animators.data.AnimationBase ;
import away3d.animators.data.AnimationStateBase ;
import away3d.materials.MaterialBase ;

/**
 * IMaterialOwner provides an interface for objects that can use materials.
 */
interface IMaterialOwner
{
    /**
     * The material with which to render the object.
     */
    function get_material() : MaterialBase ;
    function set_material( value : MaterialBase ) ;
    
    /**
     * The animation used by the material to assemble the vertex code.
     */
    function get_animation() : AnimationBase ;    // in most cases, this will in fact be NullAnimation
    function get_animationState() : AnimationStateBase ;
    
}